//将引入的文件打包成js文件后 自动引入到html页面（public/index html）
import Vue from 'vue'
import App from './App.vue'
import router from '@/router' //路由的引入文件
import store from '@/store' //引入存放vuex存储公共数据的文件夹

// 注册全局组件
import TypeNav from '@/components/TypeNav'
import Pagination from '@/components/Pagination'
// 引入mockServe.js模拟数据(轮播图、底部数据)
import '@/mock/mockServe'
//引入swiper（轮播图）样式供全局使用
import 'swiper/css/swiper.css'
// 引入ElementUI需要使用的功能
import { Button,MessageBox} from 'element-ui';

// =============================================
// 参数；1：全局组件的名字，2：哪一个组件
Vue.component(TypeNav.name,TypeNav)
Vue.component(Pagination.name,Pagination)

// 全局挂载ElementUI对应的功能UI：
// 方法1：全局组件，方法2：挂载原型上
Vue.component(Button.name, Button);
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;


//引入发送请求数据接口文件
import * as API from '@/api' 

//引入图片懒加载插件
import VueLazyload from 'vue-lazyload'
// 注册图片懒加载插件
Vue.use(VueLazyload, {
  //默认懒加载的图片路径（在js中引入）
    error: 'dist/error.png',  
  })
//引入表单校验插件的文件
 import '@/validate/validate.js'


Vue.config.productionTip = false
new Vue({
//全局事件总线【依靠Vue的原型配置全局】
beforeCreate(){
// $bus 配置全局,【】
Vue.prototype.$bus=this;
// 数据请求接口配置全局
Vue.prototype.$API=API
},
  

//注册路由 
  router,
  store,
  
  render: h => h(App)
}).$mount('#app')
